// pages/wordProgress/wordProgress.js
import { word } from '../../server/word';

const { formatDate, formatTime } = require('../../utils/dateTool');

Page({

    /**
     * 页面的初始数据
     */
    data: {
        word_progress: []
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
        this.getUserProgress()
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {

    },

    /*
     * 返回上一页
     */
    returnMainPage() {
        wx.navigateBack({ delta: 1 });
    },

    // 获取背单词进度
    getUserProgress() {
        word.getUserProgress().then((res) => {
            let word_progress = res.data;
            // 根据时间排序
            word_progress.sort((a, b) => (new Date(b).getTime()) - (new Date(a).getTime()));
            // 计算出格式化后的时间和日期
            word_progress = word_progress.map((item) => {
                let time = new Date(item.time);
                return {
                    ...item,
                    time,
                    formatTime: formatTime(time),
                    formatDate: formatDate(time)
                };
            });
            // 按照日期进行组合
            let progress = [];
            for (let i = 0; i < word_progress.length; i++) {
                let item = word_progress[i];
                if (progress.length) {
                    if (progress[progress.length - 1].formatDate == item.formatDate) {
                        progress[progress.length - 1].l.push({
                            id: item._id,
                            time: item.formatTime,
                            progress: item.progress
                        });
                    } else {
                        progress.push({
                            formatDate: item.formatDate,
                            l: [{
                                id: item._id,
                                time: item.formatTime,
                                progress: item.progress
                            }]
                        });
                    }
                } else {
                    progress.push({
                        formatDate: item.formatDate,
                        l: [{
                            id: item._id,
                            time: item.formatTime,
                            progress: item.progress
                        }]
                    });
                }
            }
            this.setData({ word_progress: progress });
            console.log(progress);
        }).catch((err) => {
            wx.showToast({
                title: '请检查网络连接',
                icon: 'none',
                duration: 1000
            });
        });
    },
    jmpWordRecord(e) {
        let item = e.currentTarget.dataset.item;
        let progress = JSON.stringify(item.progress);
        wx.navigateTo({
            url: '/pages/wordRecord/wordRecord?progress=' + progress,
        });
    }
})